{
  "swagger": "2.0",
  "info": {
    "title": "Responses API",
    "version": "",
    "description": "In this API example we will discuss what information a response can bear and how to define multiple responses. Technically a response is represented by a payload that is sent back in response to a request.\n\n## API Blueprint\n\n+ [Previous: Grouping Resources](04.%20Grouping%20Resources.md)\n\n+ [This: Raw API Blueprint](https://raw.github.com/apiaryio/api-blueprint/master/examples/05.%20Responses.md)\n\n+ [Next: Requests](06.%20Requests.md)"
  },
  "paths": {
    "/message": {
      "get": {
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-My-Message-Header": {
                "type": "string"
              }
            },
            "examples": {
              "application/json": {
                "message": "Hello World!"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "example": {
                "message": "Hello World!"
              }
            }
          }
        },
        "summary": "Retrieve a Message",
        "operationId": "Retrieve a Message",
        "description": "This action has **two** responses defined: One returing a plain text and the other a JSON representation of our resource. Both has the same HTTP status code. Also both responses bear additional information in the form of a custom HTTP header. Note that both responses have set the `Content-Type` HTTP header just by specifying `(text/plain)` or `(application/json)` in their respective signatures.",
        "tags": [
          "Messages"
        ],
        "parameters": [],
        "produces": [
          "application/json"
        ],
        "consumes": []
      },
      "put": {
        "responses": {
          "204": {
            "description": "No Content",
            "headers": {},
            "examples": {}
          }
        },
        "summary": "Update a Message",
        "operationId": "Update a Message",
        "description": "",
        "tags": [
          "Messages"
        ],
        "parameters": [],
        "consumes": [
          "text/plain"
        ]
      }
    }
  },
  "definitions": {
    "My Message": {}
  },
  "securityDefinitions": {},
  "tags": [
    {
      "name": "Messages",
      "description": "Group of all messages-related resources."
    }
  ]
}